1. Field
The disclosure relates generally to a computer implemented method, a data processing system, and a computer readable storage media having a computer program products encoded thereon. More specifically, the disclosure relates generally to a computer implemented method, a data processing system, and a computer readable storage media having a computer program products encoded thereon for the enablement and acceleration of live and near-live migration of virtual machines and their associated storage across networks.
2. Description of the Related Art
Increasingly large symmetric multi-processor data processing systems are not being used as single large data processing systems. Instead, these types of data processing systems are being partitioned and used as smaller systems. These systems are also referred to as logical partitioned (LPAR) data processing systems. A logical partitioned functionality within a data processing system allows multiple copies of a single operating system or multiple heterogeneous operating systems to be simultaneously run on a single data processing system platform. A partition, within which an operating system image runs, is assigned a subset of the platform's resources. These platform allocable resources include one or more logically distinct processors and their interrupt management area, regions of system memory, and input/output (I/O) adapter bus slots. The partition's resources are represented by the platform's firmware to the operating system image.
Each distinct operating system or image of an operating system running within a platform is protected from each other, such that software errors on one logical partition cannot affect the correct operation of any of the other partitions. This protection is provided by allocating a logically disjointed set of platform resources to be directly managed by each operating system image and by providing mechanisms for ensuring that the various images cannot control any resources that have not been allocated to that image. Furthermore, software errors in the control of an operating system's allocated resources are prevented from affecting the resources of any other image. Thus, each image of the operating system or each different operating system, directly controls a distinct set of allocable resources within the platform.
With respect to hardware resources in a logical partitioned data processing system, these resources are shared dis-jointly among various partitions. These resources may include, for example, input/output (I/O) adapters, memory DIMMs, non-volatile random access memory (NVRAM), and hard disk drives. Each partition within a logical partitioned data processing system may be booted and shut down over and over without having to power-cycle the entire data processing system.
Service availability is a key concern for users when considering deploying mission-critical services on logical partitioned virtual data centers, or clouds. Today when cloud providers need to perform fixes or maintenance on their physical infrastructure, they inform users to shutdown and reattach their instances to a different location. This incurs service down time. Additionally, when there is resource contention on the cloud, customers' services may suffer from poorer performance and availability. There are many additional scenarios in which cloud users may see impact on their services.
Live migration is a powerful virtualization technology that data center or cloud providers can themselves leverage or provide to cloud customers to increase SLAs by migrating running virtual machines from one physical location to a different physical location with little to no impact on service availability, as needed owing to problem avoidance, operational considerations, or for better delivery economics.